home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / A-COMAL Series / (k)aai.d64 / read'block.lst < prev    next >
File List  |  2007-02-28  |  1KB  |  40 lines

  1. 9000 //
  2. 9010 FUNC READ'BLOCK(TRACK,SECTOR,REF BLOCK$) 
  3. 9020  DIM T$ OF 2, S$ OF 2, DS$ OF 2
  4. 9030  MEM:=1000
  5. 9040  STR(TRACK,T$); STR(SECTOR,S$)
  6. 9050  IF PEEK(MEM)<>162 THEN DISK'GET'INIT(MEM)
  7. 9060  OPEN FILE 2,"#2",UNIT 8,2,READ
  8. 9070  DS$:=STATUS$
  9. 9080  IF DS$="00" THEN
  10. 9090   PASS "U1: 2 0 "+T$+" "+S$
  11. 9100   BLOCK$(1:256):=""
  12. 9110   IF BLOCK$="" THEN NULL
  13. 9120   START:=PEEK(51)+PEEK(52)*256+4
  14. 9130   POKE 51,START MOD 256
  15. 9140   POKE 52,START DIV 256
  16. 9150   SYS 1000
  17. 9160  ENDIF 
  18. 9170  CLOSE FILE 2
  19. 9180  RETURN DS$<>"00"
  20. 9190 ENDFUNC READ'BLOCK
  21. 9200 //
  22. 9210 PROC DISK'GET'INIT(START) CLOSED
  23. 9220  A:=START
  24. 9230  WHILE NOT EOD DO
  25. 9240   READ BYTE
  26. 9250   POKE A,BYTE
  27. 9260   A:+1
  28. 9270  ENDWHILE 
  29. 9280  DATA 162,2,32,198,255,160,0
  30. 9290  DATA 32,207,255,145,51,200,208
  31. 9300  DATA 248,32,204,255,96
  32. 9310 ENDPROC DISK'GET'INIT
  33. 9320 //
  34. 9330 PROC STR(NUM,REF STRING$) 
  35. 9340  STRING$:=CHR$((NUM MOD 10)+48)
  36. 9350  IF NUM DIV 10 THEN
  37. 9360   STRING$:=CHR$((NUM DIV 10)+48)+STRING$
  38. 9370  ENDIF 
  39. 9380 ENDPROC STR
  40.